

--拆分表，所有满足拆分情况
require "split_table"

is_needQuePai = true       --是否需要缺牌才能胡

--[Comment]
--基本牌数组：108张，仅含筒条万
g_BaseCardData = {
    01,02,03,04,05,06,07,08,09,     --筒 1-9
    01,02,03,04,05,06,07,08,09,     --筒 1-9             1--36
    01,02,03,04,05,06,07,08,09,     --筒 1-9
    01,02,03,04,05,06,07,08,09,     --筒 1-9

    11,12,13,14,15,16,17,18,19,     --条（索） 1-9
    11,12,13,14,15,16,17,18,19,     --条（索） 1-9      37--72
    11,12,13,14,15,16,17,18,19,     --条（索） 1-9
    11,12,13,14,15,16,17,18,19,     --条（索） 1-9

    21,22,23,24,25,26,27,28,29,     --万 1-9
    21,22,23,24,25,26,27,28,29,     --万 1-9             73--108
    21,22,23,24,25,26,27,28,29,     --万 1-9
    21,22,23,24,25,26,27,28,29,     --万 1-9

    --序数牌：由筒子牌 + 万子牌 + 条子牌（索子牌） 组成
}

--[Comment]
-- 扩展牌数组：44张
g_ExtCardData = {
--[[
    31,33,35,37,    --风牌：东 南 西 北
    31,33,35,37,    --风牌：东 南 西 北                109--124
    31,33,35,37,    --风牌：东 南 西 北
    31,33,35,37,    --风牌：东 南 西 北

    41,43,45,       --箭牌：中（红中）  发（发财）  白（白板）
    41,43,45,       --箭牌：中（红中）  发（发财）  白（白板）    125--136
    41,43,45,       --箭牌：中（红中）  发（发财）  白（白板）
    41,43,45,       --箭牌：中（红中）  发（发财）  白（白板）

    -- 字牌：风牌，箭牌合称字牌

    61,62,63,64,65,66,67,68,    --花牌：春 夏 秋 冬 梅 兰 竹 菊   137--144

    71,73,75,77,                --财神 猫   老鼠 聚宝盆           145--152
    79,79,79,79,                --百搭 百搭 百搭 百搭

    --百搭麻将：28张花牌，包括：12张箭牌 + 8张（春夏秋冬梅兰竹菊） + 4张百搭 + 4张（财神 猫 老鼠 聚宝盆）
    ]]
}

--[Comment]
-- 牌类型，数值表示
g_CardType = {
    ct_Tong = 0,
    ct_Tiao = 1,
    ct_Wan = 2,
    ct_Feng = 3,
    ct_Jian = 4,
    ct_Zi = 5,
    ct_Hua = 6,
    ct_BaiDa = 7,
    ct_LaiZi = 8,
}

--[Comment]
-- 牌类型对应的数组下标位置范围
g_CardType_To_PosRange = {
    [g_CardType.ct_Tong] =  {min = 1, max = 36},
    [g_CardType.ct_Tiao] =  {min = 37, max = 72},
    [g_CardType.ct_Wan] =   {min = 73, max = 108},
    [g_CardType.ct_Feng] =  {min = 109, max = 124},
    [g_CardType.ct_Jian] =  {min = 125, max = 136},
    [g_CardType.ct_Zi] =    {min = 109, max = 136},
    [g_CardType.ct_Hua] =   {min = 137, max = 144},
    [g_CardType.ct_BaiDa] = {min = 145, max = 152},
    [g_CardType.ct_LaiZi] = {min = 1, max = 152},
}

--[Comment]
--牌类型，文字形式
g_CardTypeConst = {
    [g_CardType.ct_Tong] = "tong zi pai",
    [g_CardType.ct_Tiao] = "tiao zi pai",
    [g_CardType.ct_Wan] = "wan zi pai",
    [g_CardType.ct_Zi] = "zi pai",
    [g_CardType.ct_Jian] = "jian pai",
    [g_CardType.ct_Feng] = "feng pai",
    [g_CardType.ct_Hua] = "hua pai",
    [g_CardType.ct_BaiDa] = "bai da pai",
    [g_CardType.ct_LaiZi] = "lai zi pai",
}

g_CommonWenZiConst = {
    [g_CardType.ct_Tong] = "筒",
    [g_CardType.ct_Tiao] = "条",
    [g_CardType.ct_Wan] = "万",
    [g_CardType.ct_Zi] = "字牌",
    [g_CardType.ct_Jian] = "箭箭",
    [g_CardType.ct_Feng] = "风牌",
    [g_CardType.ct_Hua] = "花牌",
    [g_CardType.ct_BaiDa] = "百搭",
    [g_CardType.ct_LaiZi] = "赖子",
}

--[Comment]
--胡牌类型
g_HuPaiType = {
    t_HuPai_PingHu = 1,             --平胡，1倍
    t_HuPai_DuiDuiHu = 2,           --对对胡，2倍
    t_HuPai_QiDui = 3,              --七对，4倍
    t_HuPai_QingYiSe = 4,           --清一色，4倍
    t_HuPai_DaiYaoJiu = 5,          --带幺九，4倍
    t_HuPai_JinGouDiao = 6,         --金钩钓，4倍
    t_HuPai_QingDui = 7,            --清对，8倍
    t_HuPai_LongQiDui = 8,          --龙七对，8倍，算番时减1根（1番，4张一样牌算1根）
    t_HuPai_QingQiDui = 9,          --清七对，16倍
    t_HuPai_QingYaoJiu = 10,        --清幺九，16倍
    t_HuPai_JiangJinGouDiao = 11,   --将金钩钓，16倍
    t_HuPai_QingJinGouDiao = 12,    --清金钩钓，16倍
    t_HuPai_TianHu = 13,            --天胡，32倍
    t_HuPai_DiHu = 14,              --地胡，32倍
    t_HuPai_QingLongQiDui = 15,     --清龙七对，32倍，算番时减1根
    t_HuPai_ShiBaLuoHan = 16,       --十八罗汉，64倍
    t_HuPai_QingShiBaLuoHan = 17,   --清十八罗汉，256倍
    t_HuPai_DuanYaoJiu = 18,        --断幺九,2倍
    t_HuPai_JiangDui = 19,          --将对,8倍
    t_HuPai_MenQing = 20,           --门清,2倍
    t_HuPai_ZhongZhang = 21,        --中张,2倍
}

--[Comment]
--番值数组
g_FanValue = {
    [g_HuPaiType.t_HuPai_PingHu] = 1,             --平胡，1倍
    [g_HuPaiType.t_HuPai_DuiDuiHu] = 2,           --对对胡，2倍
    [g_HuPaiType.t_HuPai_QiDui] = 4,              --七对，4倍
    [g_HuPaiType.t_HuPai_QingYiSe] = 4,           --清一色，4倍
    [g_HuPaiType.t_HuPai_DaiYaoJiu] = 4,          --带幺九，4倍
    [g_HuPaiType.t_HuPai_JinGouDiao] = 4,         --金钩钓，4倍
    [g_HuPaiType.t_HuPai_QingDui] = 8,            --清对，8倍
    [g_HuPaiType.t_HuPai_LongQiDui] = 8,          --龙七对，8倍，算番时减1根（1番，4张一样牌算1根）
    [g_HuPaiType.t_HuPai_QingQiDui] = 16,         --清七对，16倍
    [g_HuPaiType.t_HuPai_QingYaoJiu] = 16,        --清幺九，16倍
    [g_HuPaiType.t_HuPai_JiangJinGouDiao] = 16,   --将金钩钓，16倍
    [g_HuPaiType.t_HuPai_QingJinGouDiao] = 16,    --清金钩钓，16倍
    [g_HuPaiType.t_HuPai_TianHu] = 32,            --天胡，32倍
    [g_HuPaiType.t_HuPai_DiHu] = 32,              --地胡，32倍
    [g_HuPaiType.t_HuPai_QingLongQiDui] = 32,     --清龙七对，32倍，算番时减1根
    [g_HuPaiType.t_HuPai_ShiBaLuoHan] = 64,       --十八罗汉，64倍
    [g_HuPaiType.t_HuPai_QingShiBaLuoHan] = 256,  --清十八罗汉，256倍
    [g_HuPaiType.t_HuPai_DuanYaoJiu] = 2,         --断幺九,2倍
    [g_HuPaiType.t_HuPai_JiangDui] = 8,           --将对,8倍
    [g_HuPaiType.t_HuPai_MenQing] = 2,            --门清,2倍
    [g_HuPaiType.t_HuPai_ZhongZhang] = 2,         --中张,2倍
}

--赖子结构
g_LaiZi = {
    value = {},                   --赖子对应牌值，实际牌值为color * 100 + value
    num = 4,                        --赖子数量
    color = g_CardType.ct_LaiZi,    --赖子对应牌型
}

--总共牌数量
g_totalCardNums = #g_BaseCardData + #g_ExtCardData

------------------------------------------------------
